//
//  _iOSUtils_Classes.h
//  iOSUtils
//
//  Created by HJC on 11-9-8.
//  Copyright 2011年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>


////////////////////////////////////////////////
#pragma mark 单件类
// 单件, 重写了下面的函数, 使得不可以释放
@interface NSSingleton : NSObject 
{
}

- (id)      copyWithZone:(NSZone *)zone;
- (id)      retain;
- (void)    release;
- (id)      autorelease;
- (NSUInteger)retainCount;

// 如果实例为空，就需要生成实例
+ (void)  generateInstanceIfNeed:(NSObject**)sharedInstance;

@end



////////////////////////////////////////////////
#pragma mark NSPair 将两个对象组成一数据对
@interface NSPair : NSObject 
{
@private
    NSObject*   _objA;
    NSObject*   _objB;
}
@property (nonatomic, retain)   NSObject*   objA;
@property (nonatomic, retain)   NSObject*   objB;

- (id) initWithObjA:(NSObject*)objA objB:(NSObject*)objB;
+ (id) pairWithObjA:(NSObject*)objA objB:(NSObject*)objB;

@end



